%ident	"@(#)lp:filter/postscript/postscript/draw.ps	1.1"
%
% CDDL HEADER START
%
% The contents of this file are subject to the terms of the
% Common Development and Distribution License, Version 1.0 only
% (the "License").  You may not use this file except in compliance
% with the License.
%
% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
% or http://www.opensolaris.org/os/licensing.
% See the License for the specific language governing permissions
% and limitations under the License.
%
% When distributing Covered Code, include this CDDL HEADER in each
% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
% If applicable, add the following below this CDDL HEADER, with the
% fields enclosed by brackets "[]" replaced with your own identifying
% information: Portions Copyright [yyyy] [name of copyright owner]
%
% CDDL HEADER END
%
%
% Version 3.15 drawing procedures for dpost. Automatically pulled in, but only
% when needed.
%

/inpath false def
/savematrix matrix currentmatrix def

/Dl {
	inpath
		{pop pop neg lineto}
		{newpath neg moveto neg lineto stroke}
	ifelse
} bind def

/De {
	/y1 exch 2 div def
	/x1 exch 2 div def
	neg exch x1 add exch translate
	x1 y1 scale
	0 0 1 0 360
	inpath
		{1 0 moveto arc savematrix setmatrix}
		{newpath arc savematrix setmatrix stroke}
	ifelse
} bind def

/Da {
	/dy2 exch def
	/dx2 exch def
	/dy1 exch def
	/dx1 exch def
	dy1 add neg exch dx1 add exch
	dx1 dx1 mul dy1 dy1 mul add sqrt
	dy1 dx1 neg atan
	dy2 neg dx2 atan
	inpath
		{arc}
		{newpath arc stroke}
	ifelse
} bind def

/DA {
	/dy2 exch def
	/dx2 exch def
	/dy1 exch def
	/dx1 exch def
	dy1 add neg exch dx1 add exch
	dx1 dx1 mul dy1 dy1 mul add sqrt
	dy1 dx1 neg atan
	dy2 neg dx2 atan
	inpath
		{arcn}
		{newpath arcn stroke}
	ifelse
} bind def

/Ds {
	/y2 exch def
	/x2 exch def
	/y1 exch def
	/x1 exch def
	/y0 exch def
	/x0 exch def
	x0 5 x1 mul add 6 div
	y0 5 y1 mul add -6 div
	x2 5 x1 mul add 6 div
	y2 5 y1 mul add -6 div
	x1 x2 add 2 div
	y1 y2 add -2 div
	inpath
		{curveto}
		{newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
	ifelse
} bind def
